package com.suntine.familytree.core.framework.validator.annotation;

import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import javax.validation.Constraint;
import javax.validation.Payload;

import com.suntine.familytree.core.framework.validator.StringComparisonMode;

/**
 * @corporation 
 * @author suntine
 * @creation 2011-5-26 下午02:04:13
 * @description 
 */
@Target( { TYPE, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = CompareStringsValidator.class)
@Documented
public @interface CompareStrings {
		
	    String[] propertyNames();
	    StringComparisonMode matchMode() default StringComparisonMode.EQUAL;
	    boolean allowNull() default false;
	    
	 	String message() default "";
	    Class<?>[] groups() default {};
	    Class<? extends Payload>[] payload() default {};
	    
}
